Block acknowledgement with fragmentation acknowledgement signaling

ABSTRACT

Certain aspects of the present disclosure provide methods and apparatus for using a block acknowledgement (BlockAck) frame capable of acknowledging fragments. One example method for wireless communications generally includes receiving a plurality of protocol data units (PDUs) (e.g., media access control (MAC) protocol data units (MPDUs)); determining whether each of the PDUs was successfully received and whether each of the PDUs is associated with a non-fragmented service data unit (SDU) (e.g., MAC service data unit (MSDU)) or a fragmented SDU; and outputting for transmission a BlockAck frame comprising a bitmap field indicating a receive status for the non-fragmented and fragmented SDUs based on the determination.

CLAIM OF PRIORITY UNDER 35 U.S.C. § 119

This application is a continuation of U.S. patent application Ser. No.14/978,039 (Atty. Dkt. No. 151150US), filed Dec. 22, 2015, which claimsthe benefit of U.S. Provisional Patent Application Ser. No. 62/096,168(Atty. Dkt. No. 151150USL), filed Dec. 23, 2014, U.S. Provisional PatentApplication Ser. No. 62/183,176 (Atty. Dkt. No. 151150USL02), filed Jun.22, 2015, U.S. Provisional Patent Application Ser. No. 62/190,239 (Atty.Dkt. No. 151150USL03), filed Jul. 8, 2015, U.S. Provisional PatentApplication Ser. No. 62/201,516 (Atty. Dkt. No. 151150USL04), filed Aug.5, 2015, each assigned to the assignee hereof and hereby expresslyincorporated by reference herein.

BACKGROUND Field of the Disclosure

Certain aspects of the present disclosure generally relate to wirelesscommunications and, more particularly, to using a shortened blockacknowledgement (BlockAck) frame capable of acknowledging fragments.

Description of Related Art

Wireless communication networks are widely deployed to provide variouscommunication services such as voice, video, packet data, messaging,broadcast, etc. These wireless networks may be multiple-access networkscapable of supporting multiple users by sharing the available networkresources. Examples of such multiple-access networks include CodeDivision Multiple Access (CDMA) networks, Time Division Multiple Access(TDMA) networks, Frequency Division Multiple Access (FDMA) networks,Orthogonal FDMA (OFDMA) networks, and Single-Carrier FDMA (SC-FDMA)networks.

In order to address the issue of increasing bandwidth requirements thatare demanded for wireless communications systems, different schemes arebeing developed. Once such scheme allows multiple user terminals tocommunicate with a single access point by sharing the channel resourceswhile achieving high data throughputs. Multiple Input Multiple Output(MIMO) technology represents one such approach that has emerged as apopular technique for communication systems. MIMO technology has beenadopted in several wireless communications standards such as theInstitute of Electrical and Electronics Engineers (IEEE) 802.11standard. The IEEE 802.11 denotes a set of Wireless Local Area Network(WLAN) air interface standards developed by the IEEE 802.11 committeefor short-range communications (e.g., tens of meters to a few hundredmeters). Another scheme to achieve greater throughput is HEW (HighEfficiency WiFi or High Efficiency WLAN) being developed by the IEEE802.11ax task force. The goal of this scheme is to achieve a throughput4× that of IEEE 802.11ac.

SUMMARY

The systems, methods, and devices of the disclosure each have severalaspects, no single one of which is solely responsible for its desirableattributes. Without limiting the scope of this disclosure as expressedby the claims which follow, some features will now be discussed briefly.After considering this discussion, and particularly after reading thesection entitled “Detailed Description,” one will understand how thefeatures of this disclosure provide advantages that include improvedcommunications in a wireless network.

Certain aspects of the present disclosure generally relate to using ashortened block acknowledgement (BlockAck) frame capable ofacknowledging fragments. The shortened BlockAck frame may include abitmap field having a shorter length than that of a basic BlockAck frame(e.g., <128 octets).

Certain aspects of the present disclosure provide a method for wirelesscommunications by an apparatus. The method generally includes receivinga plurality of protocol data units (PDUs), determining whether each ofthe PDUs was successfully received and whether each of the PDUs isassociated with a non-fragmented service data unit (SDU) or a fragmentedSDU, and outputting for transmission a shortened BlockAck framecomprising a bitmap field indicating a receive status for thenon-fragmented and fragmented SDUs based on the determination.

Certain aspects of the present disclosure provide an apparatus forwireless communications. The apparatus generally includes a processingsystem configured to receive a plurality of PDUs, to determine whethereach of the PDUs was successfully received and whether each of the PDUsis associated with a non-fragmented SDU or a fragmented SDU, and tooutput for transmission a shortened BlockAck frame comprising a bitmapfield indicating a receive status for the non-fragmented and fragmentedSDUs based on the determination.

Certain aspects of the present disclosure provide an apparatus forwireless communications. The apparatus generally includes means forreceiving a plurality of PDUs, means for determining whether each of thePDUs was successfully received and whether each of the PDUs isassociated with a non-fragmented SDU or a fragmented SDU, and means foroutputting for transmission a shortened BlockAck frame comprising abitmap field indicating a receive status for the non-fragmented andfragmented SDUs based on the determination.

Certain aspects of the present disclosure provide a non-transitorycomputer-readable medium for wireless communications. The medium hasinstructions stored thereon, which are executable (e.g., by anapparatus, such as a computer processor) to receive a plurality of PDUs,to determine whether each of the PDUs was successfully received andwhether each of the PDUs is associated with a non-fragmented SDU or afragmented SDU, and to output for transmission a shortened BlockAckframe comprising a bitmap field indicating a receive status for thenon-fragmented and fragmented SDUs based on the determination.

Certain aspects of the present disclosure provide a wireless node. Thewireless node generally includes at least one antenna, a receiver, aprocessing system, and a transmitter. The receiver is generallyconfigured to receive a plurality of PDUs via the at least one antenna.The processing system is generally configured to determine whether eachof the PDUs was successfully received and whether each of the PDUs isassociated with a non-fragmented DU or a fragmented SDU. The transmitteris generally configured to transmit a shortened BlockAck framecomprising a bitmap field indicating a receive status for thenon-fragmented and fragmented SDUs based on the determination.

Certain aspects of the present disclosure provide a method for wirelesscommunications by an apparatus. The method generally includes outputtinga plurality of PDUs for transmission, wherein each of the PDUs isassociated with a non-fragmented SDU or a fragmented SDU, receiving ashortened BlockAck frame comprising a bitmap field indicating a receivestatus for the non-fragmented and fragmented SDUs, and processing thebitmap field in the shortened BlockAck frame to determine whether thenon-fragmented and fragmented SDUs were successfully received.

Certain aspects of the present disclosure provide an apparatus forwireless communications. The apparatus generally includes a processingsystem configured to output a plurality of PDUs for transmission,wherein each of the PDUs is associated with a non-fragmented SDU or afragmented SDU, to receive a shortened BlockAck frame comprising abitmap field indicating a receive status for the non-fragmented andfragmented SDUs, and to process the bitmap field in the shortenedBlockAck frame to determine whether the non-fragmented and fragmentedSDUs were successfully received.

Certain aspects of the present disclosure provide an apparatus forwireless communications. The apparatus generally includes means foroutputting a plurality of PDUs for transmission, wherein each of thePDUs is associated with a non-fragmented SDU or a fragmented SDU, meansfor receiving a shortened BlockAck frame comprising a bitmap fieldindicating a receive status for the non-fragmented and fragmented SDUs,and means for processing the bitmap field in the shortened BlockAckframe to determine whether the non-fragmented and fragmented SDUs weresuccessfully received.

Certain aspects of the present disclosure provide a non-transitorycomputer-readable medium for wireless communications. The medium hasinstructions stored thereon, which are executable (e.g., by anapparatus, such as a processing system) to output a plurality of PDUsfor transmission, wherein each of the PDUs is associated with anon-fragmented SDU or a fragmented SDU, to receive a shortened BlockAckframe comprising a bitmap field indicating a receive status for thenon-fragmented and fragmented SDUs, and to process the bitmap field inthe shortened BlockAck frame to determine whether the non-fragmented andfragmented SDUs were successfully received.

Certain aspects of the present disclosure provide a wireless node. Thewireless node generally includes at least one antenna, a receiver, aprocessing system, and a transmitter. The transmitter is generallyconfigured to transmit a plurality of PDUs via the at least one antenna,wherein each of the PDUs is associated with a non-fragmented SDU or afragmented SDU. The receiver is generally configured to receive ashortened BlockAck frame comprising a bitmap field indicating a receivestatus for the non-fragmented and fragmented SDUs. The processing systemis generally configured to process the bitmap field in the shortenedBlockAck frame to determine whether the non-fragmented and fragmentedSDUs were successfully received.

To the accomplishment of the foregoing and related ends, the one or moreaspects comprise the features hereinafter fully described andparticularly pointed out in the claims. The following description andthe annexed drawings set forth in detail certain illustrative featuresof the one or more aspects. These features are indicative, however, ofbut a few of the various ways in which the principles of various aspectsmay be employed, and this description is intended to include all suchaspects and their equivalents.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example wireless communications network, inaccordance with certain aspects of the present disclosure.

FIG. 2 is a block diagram of an example access point (AP) and userterminals, in accordance with certain aspects of the present disclosure.

FIG. 3 is a block diagram of an example wireless device, in accordancewith certain aspects of the present disclosure.

FIG. 4 illustrates using a shortened block acknowledgment (Block Ack orBA) frame capable of acknowledging one or more fragments in anaggregated media access control (MAC) protocol data unit (A-MPDU), inaccordance with certain aspects of the present disclosure.

FIG. 5 illustrates a shortened BlockAck frame having a variable-lengthbitmap field, in accordance with certain aspects of the presentdisclosure.

FIG. 6 illustrates a shortened BlockAck frame having a constant-lengthbitmap field, in accordance with certain aspects of the presentdisclosure.

FIG. 7 is a flow diagram of example operations for outputting ashortened BlockAck frame for transmission, in accordance with certainaspects of the present disclosure.

FIG. 7A illustrates example means capable of performing the operationsshown in FIG. 7.

FIG. 8 is a flow diagram of example operations for using a shortenedBlockAck frame for acknowledging fragmented and non-fragmented servicedata units (SDUs), in accordance with certain aspects of the presentdisclosure.

FIG. 8A illustrates example means capable of performing the operationsshown in FIG. 8.

FIG. 9 is a table of example BlockAck frame variant encoding, inaccordance with certain aspects of the present disclosure.

FIG. 10 illustrates an example exchange using fragmentation, inaccordance with aspects of the present disclosure.

FIG. 11 illustrates an example information element (IE), in accordancewith certain aspects of the present disclosure.

FIG. 12 illustrates an example exchange using fragmentation, inaccordance with aspects of the present disclosure.

FIGS. 13A and 13B illustrate example exchanges using fragmentation, inaccordance with aspects of the present disclosure.

FIGS. 14A and 14B illustrate example exchanges using fragmentation, inaccordance with aspects of the present disclosure.

To facilitate understanding, identical reference numerals have beenused, where possible, to designate identical elements that are common tothe figures. It is contemplated that elements disclosed in oneembodiment may be beneficially utilized on other embodiments withoutspecific recitation.

DETAILED DESCRIPTION

Aspects of the present disclosure provide techniques for allowing dataunits to be sent as multiple fragments that may be collectively orseparately acknowledged. As will be described in greater detail below,such fragmentation may result in efficient use of uplink and downlinkresources. In some cases, fragmentation parameters may be negotiated toachieve certain objectives, such as reducing the amount of memory andprocessing resources used by both originating and receiving devices toprocess fragmented transmissions.

Various aspects of the disclosure are described more fully hereinafterwith reference to the accompanying drawings. This disclosure may,however, be embodied in many different forms and should not be construedas limited to any specific structure or function presented throughoutthis disclosure. Rather, these aspects are provided so that thisdisclosure will be thorough and complete, and will fully convey thescope of the disclosure to those skilled in the art. Based on theteachings herein one skilled in the art should appreciate that the scopeof the disclosure is intended to cover any aspect of the disclosuredisclosed herein, whether implemented independently of or combined withany other aspect of the disclosure. For example, an apparatus may beimplemented or a method may be practiced using any number of the aspectsset forth herein. In addition, the scope of the disclosure is intendedto cover such an apparatus or method which is practiced using otherstructure, functionality, or structure and functionality in addition toor other than the various aspects of the disclosure set forth herein. Itshould be understood that any aspect of the disclosure disclosed hereinmay be embodied by one or more elements of a claim.

The word “exemplary” is used herein to mean “serving as an example,instance, or illustration.” Any aspect described herein as “exemplary”is not necessarily to be construed as preferred or advantageous overother aspects.

Although particular aspects are described herein, many variations andpermutations of these aspects fall within the scope of the disclosure.Although some benefits and advantages of the preferred aspects arementioned, the scope of the disclosure is not intended to be limited toparticular benefits, uses, or objectives. Rather, aspects of thedisclosure are intended to be broadly applicable to different wirelesstechnologies, system configurations, networks, and transmissionprotocols, some of which are illustrated by way of example in thefigures and in the following description of the preferred aspects. Thedetailed description and drawings are merely illustrative of thedisclosure rather than limiting, the scope of the disclosure beingdefined by the appended claims and equivalents thereof.

The techniques described herein may be used for various broadbandwireless communication systems, including communication systems that arebased on an orthogonal multiplexing scheme. Examples of suchcommunication systems include Spatial Division Multiple Access (SDMA)system, Time Division Multiple Access (TDMA) system, OrthogonalFrequency Division Multiple Access (OFDMA) system, and Single-CarrierFrequency Division Multiple Access (SC-FDMA) system. An SDMA system mayutilize sufficiently different directions to simultaneously transmitdata belonging to multiple user terminals. A TDMA system may allowmultiple user terminals to share the same frequency channel by dividingthe transmission signal into different time slots, each time slot beingassigned to different user terminal. An OFDMA system utilizes orthogonalfrequency division multiplexing (OFDM), which is a modulation techniquethat partitions the overall system bandwidth into multiple orthogonalsub-carriers. These sub-carriers may also be called tones, bins, etc.With OFDM, each sub-carrier may be independently modulated with data. AnSC-FDMA system may utilize interleaved FDMA (IFDMA) to transmit onsub-carriers that are distributed across the system bandwidth, localizedFDMA (LFDMA) to transmit on a block of adjacent sub-carriers, orenhanced FDMA (EFDMA) to transmit on multiple blocks of adjacentsub-carriers. In general, modulation symbols are sent in the frequencydomain with OFDM and in the time domain with SC-FDMA.

The teachings herein may be incorporated into (e.g., implemented withinor performed by) a variety of wired or wireless apparatuses (e.g.,nodes). In some aspects, a wireless node implemented in accordance withthe teachings herein may comprise an access point or an access terminal.

An access point (“AP”) may comprise, be implemented as, or known as aNode B, Radio Network Controller (“RNC”), evolved Node B (eNB), BaseStation Controller (“BSC”), Base Transceiver Station (“BTS”), BaseStation (“BS”), Transceiver Function (“TF”), Radio Router, RadioTransceiver, Basic Service Set (“BSS”), Extended Service Set (“ESS”),Radio Base Station (“RBS”), or some other terminology.

An access terminal (“AT”) may comprise, be implemented as, or known as asubscriber station, a subscriber unit, a mobile station (MS), a remotestation, a remote terminal, a user terminal (UT), a user agent, a userdevice, user equipment (UE), a user station, or some other terminology.In some implementations, an access terminal may comprise a cellulartelephone, a cordless telephone, a Session Initiation Protocol (“SIP”)phone, a wireless local loop (“WLL”) station, a personal digitalassistant (“PDA”), a handheld device having wireless connectioncapability, a Station (“STA”), or some other suitable processing deviceconnected to a wireless modem. Accordingly, one or more aspects taughtherein may be incorporated into a phone (e.g., a cellular phone or smartphone), a computer (e.g., a laptop), a tablet, a portable communicationdevice, a portable computing device (e.g., a personal data assistant),an entertainment device (e.g., a music or video device, or a satelliteradio), a global positioning system (GPS) device, or any other suitabledevice that is configured to communicate via a wireless or wired medium.In some aspects, the AT may be a wireless node. Such wireless node mayprovide, for example, connectivity for or to a network (e.g., a widearea network such as the Internet or a cellular network) via a wired orwireless communication link.

An Example Wireless Communication System

FIG. 1 illustrates a wireless communications system 100 in which aspectsof the disclosure may be performed. For example, a user terminal 120 (ora processing system therein) may receive a plurality of protocol dataunits (PDUs), determine whether each of the PDUs was successfullyreceived (e.g., from the access point 110) and whether each of the PDUsis associated with a non-fragmented service data unit (SDU) or afragmented SDU; and output for transmission a shortened blockacknowledgment (BlockAck) frame comprising a bitmap field indicating areceive status for the non-fragmented and fragmented SDUs based on thedetermination.

The system 100 may be, for example, a multiple-access multiple-inputmultiple-output (MIMO) system with access points and user terminals. Forsimplicity, only one access point 110 is shown in FIG. 1. An accesspoint is generally a fixed station that communicates with the userterminals and may also be referred to as a base station or some otherterminology. A user terminal may be fixed or mobile and may also bereferred to as a mobile station, a wireless device, or some otherterminology. Access point 110 may communicate with one or more userterminals 120 at any given moment on the downlink and uplink. Thedownlink (i.e., forward link) is the communication link from the accesspoint to the user terminals, and the uplink (i.e., reverse link) is thecommunication link from the user terminals to the access point. A userterminal may also communicate peer-to-peer with another user terminal.

A system controller 130 may provide coordination and control for theseAPs and/or other systems. The APs may be managed by the systemcontroller 130, for example, which may handle adjustments to radiofrequency power, channels, authentication, and security. The systemcontroller 130 may communicate with the APs via a backhaul. The APs mayalso communicate with one another, e.g., directly or indirectly via awireless or wireline backhaul.

While portions of the following disclosure will describe user terminals120 capable of communicating via Spatial Division Multiple Access(SDMA), for certain aspects, the user terminals 120 may also includesome user terminals that do not support SDMA. Thus, for such aspects, anAP 110 may be configured to communicate with both SDMA and non-SDMA userterminals. This approach may conveniently allow older versions of userterminals (“legacy” stations) to remain deployed in an enterprise,extending their useful lifetime, while allowing newer SDMA userterminals to be introduced as deemed appropriate.

The system 100 employs multiple transmit and multiple receive antennasfor data transmission on the downlink and uplink. The access point 110is equipped with N_(ap) antennas and represents the multiple-input (MI)for downlink transmissions and the multiple-output (MO) for uplinktransmissions. A set of K selected user terminals 120 collectivelyrepresents the multiple-output for downlink transmissions and themultiple-input for uplink transmissions. For pure SDMA, it is desired tohave N_(ap)≥K≥1 if the data symbol streams for the K user terminals arenot multiplexed in code, frequency or time by some means. K may begreater than N_(ap) if the data symbol streams can be multiplexed usingTDMA technique, different code channels with CDMA, disjoint sets ofsubbands with OFDM, and so on. Each selected user terminal transmitsuser-specific data to and/or receives user-specific data from the accesspoint. In general, each selected user terminal may be equipped with oneor multiple antennas (i.e., N_(ut)≥1). The K selected user terminals canhave the same or different number of antennas.

The system 100 may be a time division duplex (TDD) system or a frequencydivision duplex (FDD) system. For a TDD system, the downlink and uplinkshare the same frequency band. For an FDD system, the downlink anduplink use different frequency bands. The system 100 may also utilize asingle carrier or multiple carriers for transmission. Each user terminalmay be equipped with a single antenna (e.g., in order to keep costsdown) or multiple antennas (e.g., where the additional cost can besupported). The system 100 may also be a TDMA system if the userterminals 120 share the same frequency channel by dividingtransmission/reception into different time slots, each time slot beingassigned to different user terminal 120.

FIG. 2 illustrates a block diagram of a system 100 in which aspects ofthe present disclosure may be performed. For example, the access point110 (or a processing system therein) may output a plurality of PDUs fortransmission, wherein each of the PDUs is associated with anon-fragmented SDU or a fragmented SDU; receive a shortened BlockAckframe comprising a bitmap field (e.g., a Block Ack bitmap field)indicating a receive status for the non-fragmented and fragmented SDUs;and process the bitmap field in the shortened BlockAck frame todetermine whether the non-fragmented and fragmented SDUs weresuccessfully received.

The system 100 may be, for example, a MIMO system with access point 110and two user terminals 120 m and 120 x. The access point 110 is equippedwith N_(ap) antennas 224 a through 224 ap. User terminal 120 m isequipped with N_(ut,m) antennas 252 ma through 252 mu, and user terminal120 x is equipped with N_(ut,x) antennas 252 xa through 252 xu. Theaccess point 110 is a transmitting entity for the downlink and areceiving entity for the uplink. Each user terminal 120 is atransmitting entity for the uplink and a receiving entity for thedownlink. As used herein, a “transmitting entity” is an independentlyoperated apparatus or device (e.g., an AP or STA) capable oftransmitting data via a wireless channel, and a “receiving entity” is anindependently operated apparatus or device (e.g., an AP or STA) capableof receiving data via a wireless channel. In the following description,the subscript “dn” denotes the downlink, the subscript “up” denotes theuplink, N_(up) user terminals are selected for simultaneous transmissionon the uplink, N_(dn) user terminals are selected for simultaneoustransmission on the downlink, N_(up) may or may not be equal to N_(dn),and N_(up) and N_(dn) may be static values or can change for eachscheduling interval. The beam-steering or some other spatial processingtechnique may be used at the access point and user terminal.

On the uplink, at each user terminal 120 selected for uplinktransmission, a transmit (TX) data processor 288 receives traffic datafrom a data source 286 and control data from a controller 280. Thecontroller 280 may be coupled with a memory 282. TX data processor 288processes (e.g., encodes, interleaves, and modulates) the traffic datafor the user terminal based on the coding and modulation schemesassociated with the rate selected for the user terminal and provides adata symbol stream. A TX spatial processor 290 performs spatialprocessing on the data symbol stream and provides N_(ut,m) transmitsymbol streams for the N_(ut,m) antennas. Each transmitter unit (TMTR)254 receives and processes (e.g., converts to analog, amplifies,filters, and frequency upconverts) a respective transmit symbol streamto generate an uplink signal. N_(ut,m) transmitter units 254 provideN_(ut,m) uplink signals for transmission from N_(ut,m) antennas 252 tothe access point.

N_(up) user terminals may be scheduled for simultaneous transmission onthe uplink. Each of these user terminals performs spatial processing onits data symbol stream and transmits its set of transmit symbol streamson the uplink to the access point.

At access point 110, N_(ap) antennas 224 a through 224 ap receive theuplink signals from all N_(up) user terminals transmitting on theuplink. Each antenna 224 provides a received signal to a respectivereceiver unit (RCVR) 222. Each receiver unit 222 performs processingcomplementary to that performed by transmitter unit 254 and provides areceived symbol stream. An RX spatial processor 240 performs receiverspatial processing on the N_(ap) received symbol streams from N_(ap)receiver units 222 and provides N_(up) recovered uplink data symbolstreams. The receiver spatial processing is performed in accordance withthe channel correlation matrix inversion (CCMI), minimum mean squareerror (MMSE), soft interference cancellation (SIC), or some othertechnique. Each recovered uplink data symbol stream is an estimate of adata symbol stream transmitted by a respective user terminal. An RX dataprocessor 242 processes (e.g., demodulates, deinterleaves, and decodes)each recovered uplink data symbol stream in accordance with the rateused for that stream to obtain decoded data. The decoded data for eachuser terminal may be provided to a data sink 244 for storage and/or acontroller 230 for further processing. The controller 230 may be coupledwith a memory 232.

On the downlink, at access point 110, a TX data processor 210 receivestraffic data from a data source 208 for N_(dn) user terminals scheduledfor downlink transmission, control data from a controller 230, andpossibly other data from a scheduler 234. The various types of data maybe sent on different transport channels. TX data processor 210 processes(e.g., encodes, interleaves, and modulates) the traffic data for eachuser terminal based on the rate selected for that user terminal. TX dataprocessor 210 provides N_(dn) downlink data symbol streams for theN_(dn) user terminals. A TX spatial processor 220 performs spatialprocessing (such as a precoding or beamforming, as described in thepresent disclosure) on the N_(dn) downlink data symbol streams, andprovides N_(ap) transmit symbol streams for the N_(ap) antennas. Eachtransmitter unit 222 receives and processes a respective transmit symbolstream to generate a downlink signal. N_(ap) transmitter units 222providing N_(ap) downlink signals for transmission from N_(ap) antennas224 to the user terminals. The decoded data for each user terminal maybe provided to a data sink 272 for storage and/or a controller 280 forfurther processing.

At each user terminal 120, N_(ut,m) antennas 252 receive the N_(ap)downlink signals from access point 110. Each receiver unit 254 processesa received signal from an associated antenna 252 and provides a receivedsymbol stream. An RX spatial processor 260 performs receiver spatialprocessing on N_(ut,m) received symbol streams from N_(ut,m) receiverunits 254 and provides a recovered downlink data symbol stream for theuser terminal. The receiver spatial processing is performed inaccordance with the CCMI, MMSE or some other technique. An RX dataprocessor 270 processes (e.g., demodulates, deinterleaves and decodes)the recovered downlink data symbol stream to obtain decoded data for theuser terminal.

At each user terminal 120, a channel estimator 278 estimates thedownlink channel response and provides downlink channel estimates, whichmay include channel gain estimates, SNR estimates, noise variance and soon. Similarly, at access point 110, a channel estimator 228 estimatesthe uplink channel response and provides uplink channel estimates.Controller 280 for each user terminal typically derives the spatialfilter matrix for the user terminal based on the downlink channelresponse matrix H_(dn,m) for that user terminal. Controller 230 derivesthe spatial filter matrix for the access point based on the effectiveuplink channel response matrix H_(up,eff). Controller 280 for each userterminal may send feedback information (e.g., the downlink and/or uplinkeigenvectors, eigenvalues, SNR estimates, and so on) to the accesspoint. Controllers 230 and 280 also control the operation of variousprocessing units at access point 110 and user terminal 120,respectively.

FIG. 3 illustrates various components that may be utilized in a wirelessdevice 302 that may be employed within the system 100. The wirelessdevice 302 is an example of a device that may be configured to implementthe various methods described herein. For example, the wireless devicemay implement operations 700 or 800 illustrated in FIGS. 7 and 8,respectively. The wireless device 302 may be an access point 110 or auser terminal 120.

The wireless device 302 may include a processor 304 which controlsoperation of the wireless device 302. The processor 304 may also bereferred to as a central processing unit (CPU). Memory 306, which mayinclude both read-only memory (ROM) and random access memory (RAM),provides instructions and data to the processor 304. A portion of thememory 306 may also include non-volatile random access memory (NVRAM).The processor 304 typically performs logical and arithmetic operationsbased on program instructions stored within the memory 306. Theinstructions in the memory 306 may be executable to implement themethods described herein.

The wireless device 302 may also include a housing 308 that may includea transmitter 310 and a receiver 312 to allow transmission and receptionof data between the wireless device 302 and a remote node. Thetransmitter 310 and receiver 312 may be combined into a transceiver 314.A single or a plurality of transmit antennas 316 may be attached to thehousing 308 and electrically coupled to the transceiver 314. Thewireless device 302 may also include (not shown) multiple transmitters,multiple receivers, and multiple transceivers.

The wireless device 302 may also include a signal detector 318 that maybe used in an effort to detect and quantify the level of signalsreceived by the transceiver 314. The signal detector 318 may detect suchsignals as total energy, energy per subcarrier per symbol, powerspectral density and other signals. The wireless device 302 may alsoinclude a digital signal processor (DSP) 320 for use in processingsignals.

The various components of the wireless device 302 may be coupledtogether by a bus system 322, which may include a power bus, a controlsignal bus, and a status signal bus in addition to a data bus.

Example Shortened Block Acknowledgement

As noted above, aspects of the present disclosure provide techniques forsending data units using fragmentation, which may result in efficientuse of uplink and downlink resources. As used herein, the termfragmentation generally refers to the process of partitioning a dataunit, such as a MAC service data unit (MSDU) or MAC management protocoldata unit (MMPDU), into smaller data units (e.g., MPDUs) fortransmission.

In some cases, the fragment length may be the same for all fragmentsexcept for the last, which may be smaller than the others to justaccommodate a remaining portion. Additionally, the length of eachfragment (except for the last fragment), may be an even number ofoctets. The length of each fragment may be limited to never exceed acertain fragmentation threshold (e.g., with the threshold specified by aparameter dot11FragmentationThreshold in IEEE 802.11). In some cases,for example, if security encapsulation is invoked, the fragment lengthmay exceed this threshold due to encapsulation overhead. Once a fragmentis transmitted for the first time, the frame body content and length maybe fixed until the fragment is successfully delivered to a recipientstation (STA).

Defragmentation generally refers to the process of reassembling anMSDU/MMPDU from its constituent fragments. Reassembly is generallyperformed by combining fragments in order of fragment number (FN)subfield. A mechanism may be utilized to identify a last fragment. Forexample, a fragment with the More Fragments bit equal to 0 indicates thelast fragment for this particular MSDU/MMPDU, based on its sequencenumber (SN).

In certain wireless communications systems, such as IEEE 802.11ax (alsoknown as high efficiency wireless (HEW) or high efficiency wirelesslocal area network (WLAN)), data rates of 750 kbps and lower are beingproposed (e.g., MCS0 in 2.5 MHz), which suggests the use offragmentation. In multi-user (MU) operation, where an AP communicateswith multiple STAs, the AP may allocate resources by sending a triggerframe that provides the resource allocations per-STA for the rest of thegranted transmission opportunity (TXOP).

In an effort to fully use the allocated resource, the STA may fragmentthe MSDU on-the-fly. The fragment length and the number of fragments maybe determined once the STA knows the allocated resource for its currenttransmission. The fragmentation threshold (that controls the length offragments) may be changed dynamically every MSDU to fully use thegranted TXOP. In certain embodiments, the fragmentation threshold maycontrol the length of each fragment of the same MSDU. The first fragmentmay be transmitted during the allocated resource in the granted TXOP.The remaining n−1 fragments may be queued for transmission in subsequentTXOPs. This baseline method generates multiple fragments, each of whichare carried in an MPDU. The lower the payload of the fragment, thelarger the number of fragments (i.e., the higher the impact of thePHY/MAC/security overhead).

To remove some of the PHY overhead, it may be useful to allow aggregatedMPDU (A-MPDU) aggregation of fragments (with other fragments or fullMPDUs), although this adds some overhead from A-MPDU delimiters andpadding. As an example, such aggregation of fragments may be performedin an effort to efficiently fill a low data rate allocation (e.g.,efficiently filling an allocation may entail 2000 bytes of data: a 1500Bnon-fragmented MSDU plus a 500B fragment of another, fragmented MSDU).As another example, A-MPDU aggregation of fragments may be done toefficiently transmit the remaining fragment of an MSDU in a subsequenttransmit opportunity (TXOP). Retransmission in a subsequent TXOP mayentail fragment aggregation. Once a packet has been fragmented andtransmitted, it should be retransmitted in the same manner; otherwise,reassembly (defragmentation) is complicated. For certain aspects, anA-MPDU may contain non-fragmented MSDUs and at most one fragment of anMSDU (i.e., an A-MSDU cannot contain more than one fragment of the sameMSDU).

FIG. 4 illustrates an example aggregation of fragment MPDUs in an A-MPDU420, in accordance with certain aspects of the present disclosure. Inthe illustrated example, MSDUs 410 with sequence numbers 1 and 5 (SN=1and SN=5) are unfragmented, while MSDU 410 with sequence number 2 (SN=2)is fragmented, with three fragments shown, with fragment numbers 1, 2,and 3 (FN=1, FN=2, and FN=3). As illustrated, a more fragment flag (MF)may be set to 1 in the first two fragments to indicate there are morefragments to come, while MF is set to 0 in the third fragment,indicating the last fragment.

Such fragment aggregation may be allowed without changing the basics ofthe immediate BlockAck procedure (e.g., each MSDU 410 may occupy onelocation of the BlockAck buffer and fragment MPDUs occupy independentbuffers) and the fragmentation/defragmentation procedure. However, thebasic BlockAck frame, capable of acknowledging up to 64 MSDUs having upto 16 fragments each, has a bitmap field with a length of 128 octets. Acompressed BlockAck may be used that acknowledges up to 64 MSDUs and hasa bitmap field with a length of only 8 octets. While shorter than anormal BlockAck frame (e.g., defined by a standard), this type ofcompressed BlockAck frame does not acknowledge fragmented MSDUs orfragments thereof.

To address this, aspects of the present disclosure provide a BlockAckframe capable of acknowledging fragmented and non-fragmented MSDUs, buthaving a reduced size compared to a basic BlockAck frame. In some cases,shortened or “compressed” BlockAck frame may reduce overhead and becapable of acknowledging fragmented MSDUs without significant changes insignaling of the basic BlockAck frame.

In some cases, a recipient may select a type of Block Ack Frame on a perA-MPDU basis. After receiving an A-MPDU, according to this option, therecipient may generate a BlockAck frame that is either a modifiedversion of the compressed BlockAck frame (one type of shortened BlockAckframe) or a basic BlockAck Frame. The shortened BlockAck frame (labeled“Compressed BlockAck*” in FIG. 4) may have the same length as acompressed BlockAck (32 octets with an 8-octet bitmap). However, eachbit in the shortened frame's bitmap may indicate the receive status of anon-fragment (A-)MSDU and one of the following: (1) the first fragmentof the fragmented MSDU; (2) all the fragments of the MSDU; or (3) thesole fragment of the MSDU that is contained in the A-MPDU that elicitedthe BlockAck frame. If a basic BlockAck frame is selected instead, thisframe has a length of 152 octets and a bitmap having a length of 128octets. Each bit in the basic frame's bitmap indicates the receivestatus of each MPDU (fragment or non-fragment) within the receive blockacknowledgment window.

In some cases, the originator may receive a shortened BlockAck framewith partial information, which may occur when: (1) there is no receivestatus indication for fragments other than the first fragment of a givensequence number (SN); (2) there is an unsuccessful receive statusindication for at least one of the fragments of a given SN (i.e., bitset to 0 for the SN); or (3) there is no receive status for the solefragment contained in the A-MPDU that elicited the BlockAck frame. Ifthe originator receives a shortened BlockAck frame with partialinformation, then the originator may either solicit a basic BlockAckframe by sending a block acknowledgement request (BAR) frame orretransmit all the fragments of the MSDU that had an unsuccessfulreceive status.

One disadvantage with a recipient selecting the type of Block Ack frameis that a basic BlockAck frame may be generated as a response in certainsituations. The frequency of this happening may depend on the number offragments included in an A-MPDU. Rather than use either a modifiedversion of the compressed BlockAck frame (32 octets) or the basicBlockAck frame (152 octets), other options are described below for ashortened BlockAck frame having a reduced length compared to the basicBlockAck frame, but whose information content is not as limited as themodified version of the compressed BlockAck frame.

As illustrated in FIG. 5, in some cases, a shortened BlockAck frame 500having a variable-length bitmap field 510 may be used. This bitmap sizemay be dependent on a number of fragments and may be variable, forexample, between 8 and 128 octets, for example. The shortened BlockAckframe may be used, for example, to acknowledge 64 (A-)MSDUs andfragments up to the Fragment Number (FN) subfield in the Block AckStarting Sequence Control (SSC) field 520 in the shortened BlockAckframe. FIG. 5 illustrates how an originator and recipient may track or“keep score” of which MSDUs/fragments have been successfullyacknowledged. As will be described in greater detail below, in somecases, parameter may be negotiated to limit the memory overhead requiredfor such tracking. For example, an originator and recipient maynegotiate a maximum number of fragmented transmissions that may behandled concurrently and/or a timer value used to flush fragments (ifnot all fragments of a fragmented transmission are successfullyreceived, even successfully received fragments may be discarded).

The value of a Fragment Number subfield in the Block Ack SSC field mayindicate the number of fragments per sequence number (SN) contained inthe BlockAck bitmap field. When FN=0, non-fragmented MSDUs and the firstfragment of fragmented MSDUs may be acknowledged by the shortenedBlockAck frame. For other aspects, when FN=0, at most one fragment ofeach fragmented MSDU that is contained in the A-MPDU that elicited theshortened BlockAck frame (or contained in the A-MPDU that wastransmitted between two A-MPDUs that elicited shortened BlockAck frames)and non-fragmented MSDUs may be acknowledged by the shortened BlockAckframe. If up to 64 MSDUs may be acknowledged, this leads to a BlockAckbitmap field having a length of 8 octets, which is the same length asthe BlockAck bitmap field in a compressed BlockAck frame. When FN=N,non-fragment MSDUs and up to N+1 fragments of fragmented MSDUs may beacknowledged, leading to a bitmap field length of 8*(N+1) octets. In theworst case (e.g., where 64 MSDUs have 16 fragments), the “shortened”BlockAck frame having a variable-length bitmap field may be the samelength as a basic BlockAck frame (152 Octets, with a bitmap field lengthof 128 octets).

As illustrated in FIG. 6, in some cases, a shortened BlockAck frame 600having a fixed (e.g., constant-length) bitmap field may be used forfragment-dependent signaling. In some cases, the length of the bitmapfield for the shortened BlockAck frame may be 8 octets, and the lengthof the shortened BlockAck frame may be the same as that of a compressedBlockAck frame (32 octets).

Similar to the case described above with reference to FIG. 5, a value ofthe Fragment Number subfield in the Block Ack SSC field may indicate thenumber of fragments per SN contained in the BlockAck bitmap field. WhenFN=0, non-fragmented MSDUs and the first fragment of fragmented MSDUsmay be acknowledged by the shortened BlockAck frame. For other aspects,when FN=0, at most one fragment of each fragmented MSDU that iscontained in the A-MPDU that elicited the shortened BlockAck frame (orcontained in the A-MPDU that was transmitted between two A-MPDUs thatelicited shortened BlockAck frames) and non-fragmented MSDUs may beacknowledged by the shortened BlockAck frame. With a bitmap field havinga length of 8 octets, for example, up to 64 (A-)MSDUs may beacknowledged. When FN=N, non-fragment MSDUs and up to N+1 fragments offragmented MSDUs may be acknowledged.

With a constant-length bitmap field, however, the shortened BlockAckframe may acknowledge up to ceil(M/(N+1)) (A-)MSDUs, where M is thefixed bitmap length in bits (e.g., M=64 bits=8 octets). In other words,the number of MSDUs that may be acknowledged by each shortened BlockAckframe with a constant-length bitmap field varies according to the FN. Insome cases, only a portion of the fragments of the last MSDU may beacknowledged.

In some cases, for this option (i.e., at least one MSDU in the A-MPDU isfragmented in 16 fragments) only up to 4 MSDUs can be acknowledged (ifM=64). If the number of fragments is lower, then more MSDUs can beacknowledged.

Note that while the description above refers to the use of a FragmentNumber subfield (FN) in the Block Ack SSC field, a person havingordinary skill in the art will realize that any such field or subfieldthat is contained in the BlockAck frame itself may be used to providethe above-described signaling (e.g., the traffic identifier information(TID_INFO) subfield in the BA control field). For example, the shortenedBlockAck frame may be defined as a multi-fragment BlockAck frame.

As will be described in greater detail below, a particular variant of aBlockAck frame may be distinguished from the other frame formats, forexample, by using a reserved combination of the Multi-TID, CompressedBitmap, and Group Cast Retries (GCR) subfields of the BA Control field.

For certain aspects, the TID_INFO field for a Multi-Fragment BlockAckframe may indicate the number of MSDUs that can be acknowledged with theframe (e.g., in units of 8 or 16, etc.), making it possible todynamically vary the BlockAck bitmap field as a function of the MSDUsthat can be acknowledged. For example, if the TID_INFO is 0 and the FNis 0, then the bitmap field may be 1 octet in length and carriesacknowledgement information for 8 MSDUs and the first fragment of theMDSUs.

FIG. 7 is a flow diagram of example operations 700 for outputting ashortened BlockAck frame for transmission, in accordance with certainaspects of the present disclosure. The operations 700 may be performed,for example, by an apparatus (e.g., AP 110, user terminal 120, orwireless device 302, or a processing system therein).

The operations 700 begin, at block 702, with the apparatus receiving aplurality of protocol data units (PDUs) (e.g., from another apparatus,which may be a user terminal 120 or AP 110). The plurality of PDUs maycomprise a plurality of media access control (MAC) protocol data units(MPDUs). The plurality of MPDUs may comprise an aggregated MPDU(A-MPDU), for example.

At block 704, the apparatus determines whether each of the PDUs wassuccessfully received. The apparatus also determines whether each of thePDUs is associated with a non-fragmented service data unit (SDU) or afragmented SDU at block 704. For certain aspects, at least one of thePDUs comprises a fragment of one of the fragmented SDUs.

At block 706, the apparatus outputs a shortened block acknowledgment(BlockAck) frame for transmission. The shortened BlockAck frame includesa bitmap field indicating a receive status for the non-fragmented andfragmented SDUs based on the determination at block 704. In other words,the bits in the bitmap field are populated according to thedetermination at block 704 (e.g., a logic “1” may indicate that an SDUor a fragment thereof was successfully received, whereas a logic “0” mayindicate the SDU or fragment thereof was not successfully received). Forcertain aspects, the non-fragmented and fragmented SDUs includenon-fragmented and fragmented MAC service data units (MSDUs).

According to certain aspects, the operations 700 may further involve theapparatus receiving a block acknowledgement request after outputting theshortened BlockAck frame for transmission at block 706. In this case,the apparatus may output for transmission a basic BlockAck frame inresponse to the block acknowledgement request. A bitmap field in thebasic BlockAck frame may indicate the receive status for thenon-fragmented SDUs and each fragment of the fragmented SDUs based onthe determination at block 704.

According to certain aspects, the operations 700 may further involve theapparatus selecting the shortened BlockAck frame over a basic BlockAckframe before the outputting at block 706.

According to certain aspects, the operations 700 s further involve theapparatus outputting for transmission another shortened BlockAck framebefore the receiving at block 702. In this case, the plurality of PDUsmay comprise an A-MPDU, the non-fragmented and fragmented SDUs includenon-fragmented and fragmented MSDUs, and the A-MPDU may include at mostone fragment for each of the fragmented MSDUs.

FIG. 8 is a flow diagram of example operations 800 for using a shortenedBlockAck frame for acknowledging fragmented and non-fragmented servicedata units (SDUs) (e.g., MSDUs), in accordance with certain aspects ofthe present disclosure. The operations 800 may be performed, forexample, by an apparatus (e.g., AP 110, wireless device 302, or userterminal 120, or a processing system therein).

The operations 800 begin, at block 802, with the apparatus outputting aplurality of protocol data units (PDUs) for transmission. Each of thePDUs is associated with a non-fragmented SDU or a fragmented SDU. Forcertain aspects, at least one of the PDUs is a fragment of one of thefragmented SDUs. The plurality of PDUs may comprise a plurality of mediaaccess control (MAC) protocol data units (MPDUs). The plurality of MPDUsmay comprise an aggregated MPDU (A-MPDU), for example.

At block 804, the apparatus receives a shortened block acknowledgment(BlockAck) frame comprising a bitmap field indicating a receive statusfor the non-fragmented and fragmented SDUs. The apparatus processes thebitmap field in the shortened BlockAck frame, at block 806, to determinewhether the non-fragmented and fragmented SDUs were successfullyreceived.

This particular variant of a BlockAck frame may be distinguished fromthe other frame formats, for example, by using a reserved combination ofthe Multi-TID, Compressed Bitmap, and Group Cast Retries (GCR) subfieldsof the BA Control field. As an example, the settings in the 6^(th) rowof table 900 in FIG. 9 may be used to indicate that the frame is amulti-fragment BlockAck frame. For example a Multi-Fragment BlockAckframe may be identified by setting the Multi-TID, Compressed Bitmap, andGCR values to all 1s, and the FN described above may, for example,either be indicated in the TID_INFO field of the BA Control field or inthe FN subfield of the BlockAck SSC field

According to certain aspects, the operations 800 may further involve theapparatus outputting a block acknowledgement request for transmission.This request may be output after the processing at block 806, forexample, where the processing indicated that at least one of thenon-fragmented and fragmented SDUs was not successfully received. Theapparatus may also receive a basic BlockAck frame in response to theblock acknowledgement request. The bitmap field in the basic BlockAckframe may indicate the receive status for each of the non-fragmentedSDUs and each fragment of the fragmented SDUs.

According to certain aspects, after the processing at block 806 (whichindicated that at least one of the fragmented SDUs was not successfullyreceived, for example), the operations 800 may further involve theapparatus outputting for retransmission fragments of the at least one ofthe fragmented SDUs.

As noted above, the bitmap field in the shortened BlockAck frame has ashorter length than a bitmap field in a basic BlockAck frame. In otherwords, the bitmap field in the shortened BlockAck frame may have alength less than 128 octets.

As described with reference to FIG. 6, the bitmap field in the shortenedBlockAck frame has a fixed length (e.g., 8 octets). In this case, anumber of the non-fragmented and fragmented SDUs that can beacknowledged by the bitmap field in the shortened BlockAck frame may bevariable. For example, the number of the non-fragmented and fragmentedSDUs may be up to ceil(M/(N+1)), where M is the fixed length in bits andwhere the bitmap field in the shortened BlockAck frame can indicate thereceive status for up to N+1 fragments for the fragmented SDUs. Theshortened BlockAck frame may include a starting sequence control (SSC)field, and N may be a fragment number (FN) indicated by the SSC field.

In certain embodiments, both N and M can be signaled in the BlockAckframe itself. In such embodiments, any reserved field that precedes theBlockAck Bitmap field can be used for this purpose. In one example, theFragment Number subfield can be used to signal these values, wherein 0or more bits of the Fragment Number indicate the length of the BlockAckBitmap field (which could take values that are multiples of an octet(e.g., 2 Octets, 4 octets, 8 Octets 32 octets representing the value ofM in bytes). In some cases, 0 or more of the remaining bits of theFragment Number could represent the value of N or a function of N (e.g.,those remaining bits could indicate values of 0, 2, 4, 8 fragments). Anyof the bits of the Fragment Number can be used for this purpose. As anexample, the 2 MSBs of the Fragment Number field can indicate the valueof the BlockAck Bitmap and the 2 LSBs of the Fragment Number canindicate the value of the Fragment Number. In this example, a value ofthe 2 MSBs equal to 0 could indicate a BlockAck Bitmap field size of 8bytes (to be backward compatible with previous versions of thestandard), a value equal to 1 could indicate 2 Octets, a value of 2could indicate 32 Octets, and a value of 3 could indicate for example128 Octets. Similarly, a value of the 2 LSBs equal to 0 could indicateno fragments (to be backward compatible as previously mentioned), forexample, while a value of 1 could indicate 2 fragments, a value of 2could indicate 4 fragments, and a value of 3 could indicate 16fragments. In general, any combination of the values of the FragmentNumber subfield can be used to indicate the size of the BlockAck Bitmaplength and/or the number of fragments that are being acknowledged, aswell.

As described with reference to FIG. 5, the bitmap field in the shortenedBlockAck frame has a variable length. In this case, the variable lengthmay be indicated by an FN in the shortened BlockAck frame. The shortenedBlockAck frame may include an SSC field, and the FN may be indicated bythe SSC field. For certain aspects, the FN=0, and each bit in the bitmapfield in the shortened BlockAck frame may indicate the receive statusfor one of the non-fragmented SDUs or the first fragment of one of thefragmented SDUs. The bitmap field in the shortened BlockAck frame mayhave a length of 8 octets, for example. For certain aspects, the FN is apositive integer, and each bit in the bitmap field in the shortenedBlockAck frame may indicate the receive status for one of thenon-fragmented SDUs or each fragment of one of the fragmented SDUs. Inthis case, the FN=N, and the bitmap field in the shortened BlockAckframe may have a length of up to 8*(N+1) octets, for example.

According to certain aspects, each bit in the bitmap field in theshortened BlockAck frame may indicate the receive status for one of thenon-fragmented SDUs or the first fragment of one of the fragmented SDUs.For other aspects, each bit in the bitmap field in the shortenedBlockAck frame may indicate the receive status for one of thenon-fragmented SDUs or collectively all fragments of one of thefragmented SDUs.

As noted above, in some cases, a particular variant of a BlockAck framemay be distinguished from other frame formats by using a reservedcombination of various fields, such as the Multi-TID, Compressed Bitmap,and Group Cast Retries (GCR) subfields of the BA Control field.

Referring to FIG. 9, as an example, the settings in the 6^(th) row oftable 900 may be used to indicate that the frame is a multi-fragmentBlockAck frame. As illustrated, a Multi-Fragment BlockAck frame may beidentified by setting the Multi-TID, Compressed Bitmap, and GCR valuesto all 1s, and the FN described above may, for example, either beindicated in the TID_INFO field of the BA Control field or in the FNsubfield of the BlockAck SSC field.

As illustrated in the example exchange 1000 of FIG. 10, the techniquesfor fragmentation presented herein may provide an efficient way of usingallocated resources in MU transmissions 1020 initiated by a triggerframe 1010 sent by an AP. Such fragmentation may provide a means ofproviding feedback via a compressed Block Ack frame 1030 (in effect,closing the UL link) for limited range devices. In some cases, a blockacknowledgement (Block Ack) protocol may also be provided that allowsfragments to be carried in A-MPDUs when sent in MU mode. Such a protocolmay help simplify the generation of fragments at an originating device,while reducing memory requirements at both the recipient and originatingdevices (e.g., by limiting the amount of memory required to keep trackof which data units/fragments have been received). In some cases,compressed BlockAck frames 1010 may be used to acknowledge receivedfragments sent in an A-MPDU (which may be considered a form of anenhanced HT-Immediate Block Ack protocol).

As noted above, in some cases, STAs may negotiate fragmentation duringBA setup. In other words, fragmentation-related parameters may beexchanged during a fragment-enabled BA session. In some cases, thisnegotiation may be performed during association (when a stationassociates with an AP). Regarding fragment generation at the originator,fragments may be carried in A-MPDUs under various restrictions specifiedby the recipient. These restrictions may include, for example, a maximumnumber (Max #) of concurrent fragmented MSDU/MMPDUs and a maximum numberof fragments per MSDU/MMPDU. In some cases, only one fragment per MSDUshall be carried in an A-MPDU. In some cases, there may be norestriction (or dependency) to the length of the fragments.

Fragment acknowledgement at the recipient may be as follows. Therecipient may keep full-state information for fragmented MSDU/MMPDUs forthe duration of the receive timer. It may be noted that, in some cases,fragmented MSDUs may be discarded after the receive timer has expiredand the MSDU may be considered as having not been successfully receivedeven if some fragments were successfully received. The recipient mayrespond with a compressed BA, in response to an eliciting A-MPDU thatcontains fragments. In the compressed BA, each bit in the BA Bitmapindicates the receipt status of either a fragment of the MSDU or thefull MSDU. According to certain aspects, A-MSDUs may be carried, withoutfragmentation, within a single QoS data frame.

A STA may be configured to support concurrent reception of fragments ofsome number of transmissions, for example, at least 3 MSDUs or MMPDUs.In some cases, however, a STA receiving more than three fragmentedframes may experience a significant increase in the number of framesdiscarded. Therefore, the STA may be configured to maintain a ReceiveTimer for each MSDU/MMPDU being received (e.g., min. 3), and fragmentsmay be discarded if the timer exceeds a specified value (e.g., adot11MaxReceiveLifetime).

As noted above, there may be tradeoffs to consider when deciding whetheror not to use fragmentation. For example, in some cases, fragments maynot be allowed to be sent in A-MPDUs, except when VHT Single MPDUs.Further, in such an exceptional case, fragments may only be allowed forthose TIDs for which an HT-immediate or HT-delayed Block Ack session isnot configured. Fragmentation may be beneficial because it may increasereliability when channel characteristics/OBSS activity limit receptionreliability, may increase medium efficiency in consideration of theavailable duration of granted TXOPs, and may allow efficient use of theallocated resources in an MU transmission. However, in some cases,fragmentation may lead to an increased number of MSDUs being discarded.For example, an MSDU may be dropped when the receive MSDU timer expires,even if only one fragment is missing. This may lead to increased memoryrequirements at the transmitter and receiver as the transmitter andreceiver needs to keep track of the payload contents and length for eachfragment and partial-state operation during the Block Ack session maynot be employed by the receiver. Fragmentation may also lead to anincrease in overhead, as each fragment may require its ownA-MPDU/MAC/Security headers (e.g., fragmenting 1500 Bytes in 16fragments could add at least 450 Bytes of overhead).

In some cases, devices may negotiate the use of fragmentation during ablock acknowledgement (BA) setup procedure. In such cases, an Add BlockAcknowledgement (ADDBA) Extension IE in an ADDBA Request and/or responsemay indicate the use of fragmentation. For example, in such case, anoriginator may set a No-Fragmentation field in ADDBA Extension elementof ADDBA Request to indicate certain parameters.

FIG. 11 illustrates an example of such an ADDBA Extension element format1100 that may be included in an ADDBA request or response. Asillustrated, the format 1100 may have a Fragmentation/No-FragmentationField 1110. In some cases, this field may be set to a value to indicatewhether or not an apparatus intends to transmit fragments (e.g., 0 toindicate it intends to transmit fragments, and to 1 to indicate it doesnot intend to transmit fragments).

In some cases, the recipient (or originator) may additionally specify(e.g., as part of a negotiation) various other fragmentation parameters.For example, a recipient may specify a maximum number of fragmentedMSDUs (F-MSDUs) that can be supported concurrently (with fragments foreach tracked concurrently). As illustrated, this value may be specifiedin a field 1120 (e.g., represented as 6 bits) containing the maximumnumber of concurrent fragmented MSDU/MMPDUs that are supported. Thisparameter may determine how many bits in the BA Bitmap will bemaintained at full state by the receiver. The recipient may also specifythe receive timer (e.g., represented as 8 bits in a field 1130 of aresponse) that represents a period after which fragments are discarded(e.g., further attempts to reassemble a fragmented MMPDU or MSDU areterminated). This parameter may help control memory overhead, bylimiting how long full state is maintained for a given fragmented MSDU.In some cases, a dynamic fragmentation field (e.g., represented by asingle bit in a field of the response) may indicate the dynamicfragmentation mode (e.g., “0” to indicate support for up to 2 dynamiclength fragments per MSDU/MMPDU, or “1” to indicate support for up to 16dynamic length fragments per MSDU/MMPDU).

In some cases, various other parameters related to fragmentation mayalso be negotiated. As an example, a (receiving) device may indicateallowance (of an originator) to fragment A-MSDUs. For example, duringnegotiation, a receiving device may use a bit to indicate whether thereceiving device supports reception of fragmented A-MSDUs. In somecases, a receiving device may also specify a minimum length of fragmentsduring negotiation. In such cases, all fragments but for a last fragmentmay be required to be at least the specified minimum length.

In some cases, what may be considered a relatively simplified version ofa fragmentation mechanism may also be used. In this case, peer STAs mayuse a baseline fragmentation mechanism and may negotiate a baselineBlock Ack mechanism where the negotiation parameters described above areto be applied.

In some cases, a transmitter may be allowed to aggregate at most onefragment in an A-MPDU. In such cases, on the receiver side, uponreception of an A-MPDU that contains a single MPDU that solicits aresponse, the receiving device may respond with an Ack frame (regardlessof whether the MPDU contains a fragment or a full MSDU). On the otherhand, upon reception of an A-MPDU containing more than one MPDU thatsolicits a response, the receiving device may respond with a BlockAckframe, wherein the BlockAck frame could be a compressed BlockAck, amulti-TID BlockAck, multi-STA BlockAck or a GCR BlockAck frame thatadditionally contains an indication for indicating the receipt status ofthe fragment included in the soliciting PPDU. For example, the receivingdevice may set a bit in the BlockAck frame for a fragment contained inthe A-MPDU that is received successfully. Any reserved bit which iscurrently unused may be used for this purpose (e.g., an unused bit of aFragment Number may be used for this purpose).

In certain embodiments the transmitter may include more than onefragment in an A-MPDU, in which case the recipient may respond with acontrol response frame that acknowledges the multiple fragmentsaccording to the teachings herein.

Upon reception of a BlockAck Request (BAR), a receiving device mayrespond with the appropriate response frame. For example, the receivingdevice may respond with a compressed BlockAck if no fragments have beenreceived for a corresponding BlockAck window. In some cases, the BARitself may indicate that it solicits a compressed BlockAck. In somecases, the receiving device may respond with a basic (not compressed)BlockAck, for example, if at least one fragment is received (or the BARitself specifies a basic BlockAck is solicited).

As noted above, during a fragment-enabled BA session, the originator mayfragment MSDUs and carry them in an A-MPDU. The recipient may respondacknowledging the A-MPDU with a shortest BA (e.g., the shortest BA framemay be the C-BlockAck frame). For efficient use of allocated UL/DLresources, in some cases, one fragment in an A-MPDU may be enough.

There may be trade-offs when allowing more than one fragment per A-MPDU.For example, while more than one fragment per A-MPDU may provideflexibility to fragment any MSDU in any number of fragment per-TID,doing so may increase processing overhead. For example, both recipientand originator may need to maintain a Receive Timer for each MSDU (e.g.,during which all fragments need to be successfully received or they areflushed). In addition, the recipient may need to store the payload foreach fragment of each MSDU that is fragmented as fragments are notdelivered to upper layers but stored locally until MSDU is derived. Thisapproach may also increase the likelihood of discarded MSDUs due toreceive timer expiration (e.g., even if only one fragment is missing)and result in increased implementation complexity due to additionalfragmentation/defragmentation procedures, as well as increased overheadas each added fragment requires its own MPDU delimiter/MAC/securityheaders.

As illustrated in the example exchange 1200 of FIG. 12, in some cases,an originator may decide to use fragmentation “on-the-fly” whenever itdetermines fragmentation will result in efficient use of resources. Inthe illustrated example, two MSDUs 1210 may not be fragmented (Data 1and Data 2) while a third may be fragmented (e.g., in up to 2 fragmentsfor Dyn. Frag.=0 or up to 16 fragments for Dyn. Frag.=1). The firstfragment 1220 (of Data 3 labeled Frag 3.0) may be used to efficientlyfill the allocated resource. In either case, there may be no lengthrestriction for any of the fragments. As noted above, in some cases,only one fragment of an MSDU/MMPDU may be transmitted in the A-MPDU.

The rest of the fragments of the frame may be scheduled for transmissionin successive TXOPs. The Recipient may respond (using resources of an ULallocation) to an eliciting frame that contains a fragment with eitherof the following: an Ack frame if the fragment is carried in a (VHTSingle) MPDU or a compressed BlockAck frame if the fragment is carriedin an A-MPDU. Each bit in a bitmap 1240 may acknowledge receipt statusof non-fragment MSDUs or of the fragment of the MSDU that is carried inthe eliciting A-MPDU. As illustrated, the AP may send an ACK frame 1250acknowledging receipt of the BlockAck frame 1230.

Fragmentation in this manner may be beneficial as an Originator mayefficiently fill the allocated resources using the first fragment tofill resource that cannot be filled with full MSDU/MMPDU. Further, areceiver may not need significant memory to support fragmentation (asonly a limited amount of resources are required to store fragments andthe number of concurrently supported fragmented transmissions may belimited).

In some cases, an MSDU may be fragmented in 2 parts, and delivered inorder which may be easily processed by receiver. For example, thepayload of the first fragment is stored in the same buffer location ofthe MSDU. Upon reception of the second fragment, the MSDU may beimmediately constructed. Once constructed, the MSDU may be sent tohigher layer and the memory may be released for other MSDUs. This mayalso reduce the number of discarded frames due to fragmentation isreduced as: 2 fragments are expected to be exchanged in a few TXOPs(e.g., 2 or more). This approach may make it easier for the originatorto make sure that Receive Timer does not expire. The use of 2 fragmentsmay also reduce overhead due to fragmentation, which generally increaseswith the number of fragments (with 2 fragments this overhead isminimal).

FIGS. 13A and 13B illustrate example exchanges 1300A and 1300B usingfragmentation with 2-fragment BA exchanges, in accordance with aspectsof the present disclosure. As illustrated in FIG. 13A, MSDUs 1210 maynot be fragmented (Data 1 and Data 2), while an MSDU for Data 3 may befragmented. In this example, when reception of a first fragment (a firstfragment of Data3 labeled Frag 3.0) is not acknowledged (e.g., isnegatively acknowledged in a compressed BA frame), the transmitter willtransmit the FULL original MPDU (Data 3) in the next TXOP. In somecases, a RETRY bit may NOT be set for the full MPDU transmission (orre-transmission), even if only a fragment of the MPDU was previouslytransmitted. As illustrated in FIG. 13B, if the entire MPDU (for Data 3)does NOT entirely fit in the TXOP, the transmitter may be allowed tore-fragment the MPDU (with the first fragment of the re-fragmented MPDUlabeled as Frag 3.0′) and determine a new boundary between the twofragments (again, the RETRY bit may not be set).

FIGS. 14A and 14B illustrate other example exchanges 1400A and 1400Busing fragmentation with 2-fragment BA exchanges, in accordance withaspects of the present disclosure. As illustrated in FIG. 14A, after afirst transmission, a BA is not successfully received (e.g., it may becorrupted). In case of a re-transmission where again MPDU for Data3needs to be fragmented, the first fragment (Frag 3.0) may be allowed tobe resized (with the resized fragment labeled as Frag 3.0′) to make itsmaller or larger, which may help manage varying TXOP times. On theother hand, as illustrated in FIG. 14B, if there is enough time in theTXOP, MPDU 3 may not need to be fragmented at all (and the entire MPDUfor Data 3 may be sent unfragmented).

As presented herein, fragmentation may be enabled for MU operation usingBA negotiation procedure between originator and recipient. This approachmay enable the recipient to signal its capabilities to the transmitterand signal various parameters (e.g., signaling Receive Timer forminimizing # of frames discarded due to fragmentation, Max # of F-MSDUsfor which full state BA score is maintained, and Dynamic-lengthfragmentation selection). This approach may help increase flexibility offragmentation, by allowing fragments to have dynamic lengths and carriedin A-MPDUs, while still using existing compressed BlockAck frames toacknowledge frames during the fragment enabled BlockAck session.

The various operations of methods described above may be performed byany suitable means capable of performing the corresponding functions.The means may include various hardware and/or software component(s)and/or module(s), including, but not limited to a circuit, anapplication specific integrated circuit (ASIC), or processor. Generally,where there are operations illustrated in figures, those operations mayhave corresponding counterpart means-plus-function components withsimilar numbering. For example, operations 700 and 800 illustrated inFIGS. 7 and 8 correspond to means 700A and 800A illustrated in FIGS. 7Aand 8A, respectively.

For example, means for transmitting may comprise a transmitter (e.g.,the transmitter unit 222) and/or the antenna(s) 224 of the access point110 illustrated in FIG. 2, a transmitter (e.g., the transmitter unit254) and/or the antenna(s) 252 of the user terminal 120 portrayed inFIG. 2, or the transmitter 310 and/or antenna(s) 316 depicted in FIG. 3.Means for receiving may comprise a receiver (e.g., the receiver unit222) and/or the antenna(s) 224 of the access point 110 illustrated inFIG. 2, a receiver (e.g., the receiver unit 254) and/or the antenna(s)252 of the user terminal 120 shown in FIG. 2, or the receiver 312 and/orantenna(s) 316 depicted in FIG. 3. Means for processing, means forgenerating, means for outputting, and/or means for determining maycomprise a processing system, which may include one or more processors(e.g., capable of implementing the algorithm or operations 700 and 800),such as the RX data processor 242, the TX data processor 210, and/or thecontroller 230 of the access point 110 illustrated in FIG. 2, the RXdata processor 270, the TX data processor 288, and/or the controller 280of the user terminal 120 illustrated in FIG. 2 or the processor 304and/or the DSP 320 portrayed in FIG. 3.

In some case, rather than actually transmitting a packet (or frame), adevice may have an interface to output a packet for transmission. Forexample, a processor may output a packet, via a bus interface, to an RFfront end for transmission. Similarly, rather than actually receiving apacket (or frame), a device may have an interface to obtain a packetreceived from another device. For example, a processor may obtain (orreceive) a packet, via a bus interface, from an RF front end forreception.

According to certain aspects, such means may be implemented byprocessing systems configured to perform the corresponding functions byimplementing various algorithms (e.g., in hardware or by executingsoftware instructions). These algorithms may include, for example, analgorithm for receiving a plurality of PDUs, an algorithm fordetermining whether each of the PDUs was successfully received andwhether each of the PDUs is associated with a non-fragmented SDU or afragmented SDU, and an algorithm for outputting for transmission ashortened BlockAck frame comprising a bitmap field indicating a receivestatus for the non-fragmented and fragmented SDUs based on thedetermination. As another example, these algorithms may include analgorithm for outputting a plurality of PDUs for transmission, whereineach of the PDUs is associated with a non-fragmented SDU or a fragmentedSDU; an algorithm for receiving a shortened BlockAck frame comprising abitmap field indicating a receive status for the non-fragmented andfragmented SDUs; and an algorithm for processing the bitmap field in theshortened BlockAck frame to determine whether the non-fragmented andfragmented SDUs were successfully received.

As used herein, the term “determining” encompasses a wide variety ofactions. For example, “determining” may include calculating, computing,processing, deriving, investigating, looking up (e.g., looking up in atable, a database or another data structure), ascertaining and the like.Also, “determining” may include receiving (e.g., receiving information),accessing (e.g., accessing data in a memory) and the like. Furthermore,“determining” may include resolving, selecting, choosing, establishingand the like.

As used herein, a phrase referring to “at least one of” a list of itemsrefers to any combination of those items, including single members. Asan example, “at least one of: a, b, or c” is intended to cover a, b, c,a-b, a-c, b-c, and a-b-c, as well as any combination with multiples ofthe same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b,b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c).

The various illustrative logical blocks, modules and circuits describedin connection with the present disclosure may be implemented orperformed with a general purpose processor, a digital signal processor(DSP), an application specific integrated circuit (ASIC), a fieldprogrammable gate array (FPGA) or other programmable logic device (PLD),discrete gate or transistor logic, discrete hardware components, or anycombination thereof designed to perform the functions described herein.A general-purpose processor may be a microprocessor, but in thealternative, the processor may be any commercially available processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration.

The steps of a method or algorithm described in connection with thepresent disclosure may be embodied directly in hardware, in a softwaremodule executed by a processor, or in a combination of the two. Asoftware module may reside in any form of storage medium that is knownin the art. Some examples of storage media that may be used includerandom access memory (RAM), read only memory (ROM), flash memory, EPROMmemory, EEPROM memory, registers, a hard disk, a removable disk, aCD-ROM and so forth. A software module may comprise a singleinstruction, or many instructions, and may be distributed over severaldifferent code segments, among different programs, and across multiplestorage media. A storage medium may be coupled to a processor such thatthe processor can read information from, and write information to, thestorage medium. In the alternative, the storage medium may be integralto the processor.

The methods disclosed herein comprise one or more steps or actions forachieving the described method. The method steps and/or actions may beinterchanged with one another without departing from the scope of theclaims. In other words, unless a specific order of steps or actions isspecified, the order and/or use of specific steps and/or actions may bemodified without departing from the scope of the claims.

The functions described may be implemented in hardware, software,firmware, or any combination thereof. If implemented in hardware, anexample hardware configuration may comprise a processing system in awireless node. The processing system may be implemented with a busarchitecture. The bus may include any number of interconnecting busesand bridges depending on the specific application of the processingsystem and the overall design constraints. The bus may link togethervarious circuits including a processor, machine-readable media, and abus interface. The bus interface may be used to connect a networkadapter, among other things, to the processing system via the bus. Thenetwork adapter may be used to implement the signal processing functionsof the PHY layer. In the case of a user terminal 120 (see FIG. 1), auser interface (e.g., keypad, display, mouse, joystick, etc.) may alsobe connected to the bus. The bus may also link various other circuitssuch as timing sources, peripherals, voltage regulators, powermanagement circuits, and the like, which are well known in the art, andtherefore, will not be described any further.

The processor may be responsible for managing the bus and generalprocessing, including the execution of software stored on themachine-readable media. The processor may be implemented with one ormore general-purpose and/or special-purpose processors. Examples includemicroprocessors, microcontrollers, DSP processors, and other circuitrythat can execute software. Software shall be construed broadly to meaninstructions, data, or any combination thereof, whether referred to assoftware, firmware, middleware, microcode, hardware descriptionlanguage, or otherwise. Machine-readable media may include, by way ofexample, RAM (Random Access Memory), flash memory, ROM (Read OnlyMemory), PROM (Programmable Read-Only Memory), EPROM (ErasableProgrammable Read-Only Memory), EEPROM (Electrically ErasableProgrammable Read-Only Memory), registers, magnetic disks, opticaldisks, hard drives, or any other suitable storage medium, or anycombination thereof. The machine-readable media may be embodied in acomputer-program product. The computer-program product may comprisepackaging materials.

In a hardware implementation, the machine-readable media may be part ofthe processing system separate from the processor. However, as thoseskilled in the art will readily appreciate, the machine-readable media,or any portion thereof, may be external to the processing system. By wayof example, the machine-readable media may include a transmission line,a carrier wave modulated by data, and/or a computer-readable storagemedium with instructions stored thereon separate from the wireless node,all of which may be accessed by the processor through the bus interface.Alternatively, or in addition, the machine-readable media, or anyportion thereof, may be integrated into the processor, such as the casemay be with cache and/or general register files.

The processing system may be configured as a general-purpose processingsystem with one or more microprocessors providing the processorfunctionality and external memory providing at least a portion of themachine-readable media, all linked together with other supportingcircuitry through an external bus architecture. Alternatively, theprocessing system may be implemented with an ASIC (Application SpecificIntegrated Circuit) with the processor, the bus interface, the userinterface in the case of an access terminal), supporting circuitry, andat least a portion of the machine-readable media integrated into asingle chip, or with one or more FPGAs (Field Programmable Gate Arrays),PLDs (Programmable Logic Devices), controllers, state machines, gatedlogic, discrete hardware components, or any other suitable circuitry, orany combination of circuits that can perform the various functionalitydescribed throughout this disclosure. Those skilled in the art willrecognize how best to implement the described functionality for theprocessing system depending on the particular application and theoverall design constraints imposed on the overall system.

The machine-readable media may comprise a number of software modules.The software modules include instructions that, when executed by anapparatus such as a processor, cause the processing system to performvarious functions. The software modules may include a transmissionmodule and a receiving module. Each software module may reside in asingle storage device or be distributed across multiple storage devices.By way of example, a software module may be loaded into RAM from a harddrive when a triggering event occurs. During execution of the softwaremodule, the processor may load some of the instructions into cache toincrease access speed. One or more cache lines may then be loaded into ageneral register file for execution by the processor. When referring tothe functionality of a software module below, it will be understood thatsuch functionality is implemented by the processor when executinginstructions from that software module.

If implemented in software, the functions may be stored or transmittedover as one or more instructions or code on a computer-readable medium.Computer-readable media include both computer storage media andcommunication media including any medium that facilitates transfer of acomputer program from one place to another. A storage medium may be anyavailable medium that can be accessed by a computer. By way of example,and not limitation, such computer-readable media can comprise RAM, ROM,EEPROM, CD-ROM or other optical disk storage, magnetic disk storage orother magnetic storage devices, or any other medium that can be used tocarry or store desired program code in the form of instructions or datastructures and that can be accessed by a computer. Also, any connectionis properly termed a computer-readable medium. For example, if thesoftware is transmitted from a website, server, or other remote sourceusing a coaxial cable, fiber optic cable, twisted pair, digitalsubscriber line (DSL), or wireless technologies such as infrared (IR),radio, and microwave, then the coaxial cable, fiber optic cable, twistedpair, DSL, or wireless technologies such as infrared, radio, andmicrowave are included in the definition of medium. Disk and disc, asused herein, include compact disc (CD), laser disc, optical disc,digital versatile disc (DVD), floppy disk, and Blu-Ray® disc where disksusually reproduce data magnetically, while discs reproduce dataoptically with lasers. Thus, in some aspects computer-readable media maycomprise non-transitory computer-readable media (e.g., tangible media).In addition, for other aspects computer-readable media may comprisetransitory computer-readable media (e.g., a signal). Combinations of theabove should also be included within the scope of computer-readablemedia.

Thus, certain aspects may comprise a computer program product forperforming the operations presented herein. For example, such a computerprogram product may comprise a computer-readable medium havinginstructions stored (and/or encoded) thereon, the instructions beingexecutable by one or more processors to perform the operations describedherein. For certain aspects, the computer program product may includepackaging material.

Further, it should be appreciated that modules and/or other appropriatemeans for performing the methods and techniques described herein can bedownloaded and/or otherwise obtained by a user terminal and/or basestation as applicable. For example, such a device can be coupled to aserver to facilitate the transfer of means for performing the methodsdescribed herein. Alternatively, various methods described herein can beprovided via storage means (e.g., RAM, ROM, a physical storage mediumsuch as a compact disc (CD) or floppy disk, etc.), such that a userterminal and/or base station can obtain the various methods uponcoupling or providing the storage means to the device. Moreover, anyother suitable technique for providing the methods and techniquesdescribed herein to a device can be utilized.

It is to be understood that the claims are not limited to the preciseconfiguration and components illustrated above. Various modifications,changes and variations may be made in the arrangement, operation anddetails of the methods and apparatus described above without departingfrom the scope of the claims.

1. An apparatus for wireless communications, comprising: a receiverconfigured to receive a plurality of protocol data units (PDUs); atleast one processor coupled with a memory and configured to determinewhether each of the PDUs was successfully received and whether each ofthe PDUs carries a non-fragmented service data unit (SDU) or afragmented SDU, wherein at least one of the PDUs comprises at least onefragmented SDU; and a transmitter configured to transmit a blockacknowledgment (BlockAck) frame comprising a starting sequence control(SSC) field and a bitmap field indicating a receive status for anynon-fragmented SDUs and the at least one fragmented SDU based on thedetermination, wherein: the bitmap field in the BlockAck frame has avariable length, the variable length is indicated by a value of one ormore most significant bits of a fragment number (FN) in the BlockAckframe, and the value of the FN is indicated in the SSC field.
 2. Theapparatus of claim 1, wherein the at least one fragmented SDU isreceived in an aggregated MPDU (A-MPDU).
 3. The apparatus of claim 1,wherein a number of the non-fragmented and fragmented SDUs that can beacknowledged by the bitmap field in the BlockAck frame is variable. 4.The apparatus of claim 1, wherein each bit in the bitmap field in theBlockAck frame indicates the receive status for one of thenon-fragmented SDUs or at least one of: the first fragment of one of thefragmented SDUs, all fragments of one of the fragmented SDUs, or a solefragment for one of the fragmented SDUs.
 5. The apparatus of claim 1,wherein the at least one processor is further configured to participatein a negotiation, with a transmitter of the plurality of PDUs, for oneor more fragmentation parameters used in transmitting or processing thefragmented SDUs.
 6. The apparatus of claim 5, wherein the one or moreparameters comprise at least one of: a maximum number of concurrentfragmented transmissions supported by the apparatus or a minimumfragment length supported by the apparatus.
 7. The apparatus of claim 5,wherein the at least one processor is further configured to provide anindication of whether fragmentation is supported during the negotiation.8. The apparatus of claim 5, wherein the negotiation is performed duringat least one of: a BlockAck setup or an association with thetransmitter.
 9. The apparatus of claim 5, wherein the negotiationcomprises exchanging an Add Block Acknowledgment (ADDBA) ExtensionInformation Element (IE) in at least one of: an ADDBA request or anADDBA response.
 10. The apparatus of claim 1, wherein a value of a leastsignificant bit (LSB) in the FN in the BlockAck frame indicates whetherthe BlockAck frame indicates a receive status of non-fragmented SDUs orfragmented SDUs.
 11. The apparatus of claim 10, wherein a value of zerofor the value of the LSB indicates a non-fragmented SDU and a non-zerovalue for the value of the LSB indicates a fragmented SDU.
 12. Theapparatus of claim 1, wherein each fragmented SDU comprises fourfragments.
 13. An apparatus for wireless communications, comprising: atransmitter configured to transmit a plurality of protocol data units(PDUs), wherein: each of the PDUs carries a non-fragmented service dataunit (SDU) or a fragmented SDU, and at least one of the PDUs comprisesat least one fragmented SDU; a receiver configured to receive a blockacknowledgment (BlockAck) frame comprising a starting sequence control(SSC) field and a bitmap field indicating a receive status for anynon-fragmented SDUs and the at least one fragmented SDU, wherein: thebitmap field in the BlockAck frame has a variable length, the variablelength is indicated by values of one or more most significant bits of afragment number (FN) in the BlockAck frame; and the value of the FN isindicated in the SSC field; at least one processor coupled with a memoryand configured to process the bitmap field in the BlockAck frame todetermine whether the non-fragmented SDUs and the at least onefragmented SDU were successfully received.
 14. The apparatus of claim13, wherein the at least one fragmented SDU is transmitted in anaggregated MPDU (A-MPDU).
 15. The apparatus of claim 13, wherein anumber of the non-fragmented and fragmented SDUs that can beacknowledged by the bitmap field in the BlockAck frame is variable. 16.The apparatus of claim 13, wherein the at least one processor is furtherconfigured to participate in a negotiation, with a receiver, for one ormore fragmentation parameters used in transmitting or processing thefragmented SDUs.
 17. The apparatus of claim 13, wherein a value of aleast significant bit (LSB) in the FN in the BlockAck frame indicateswhether the BlockAck frame indicates a receive status of non-fragmentedSDUs or fragmented SDUs.
 18. The apparatus of claim 17, wherein a valueof zero for the value of the LSB indicates a non-fragmented SDU and anon-zero value for the value of the LSB indicates a fragmented SDU. 19.The apparatus of claim 13, wherein each fragmented SDU comprises fourfragments.
 20. A method for wireless communications, comprising:receiving a plurality of protocol data units (PDUs); determining whethereach of the PDUs was successfully received and whether each of the PDUscarries a non-fragmented service data unit (SDU) or a fragmented SDU,wherein at least one of the PDUs comprises at least one fragmented SDU;and transmitting a block acknowledgment (BlockAck) frame comprising astarting sequence control (SSC) field and a bitmap field indicating areceive status for any non-fragmented SDUs and the at least onefragmented SDU based on the determination, wherein: the bitmap field inthe BlockAck frame has a variable length, the variable length isindicated by a value of one or more most significant bits of a fragmentnumber (FN) in the BlockAck frame, and the value of the FN is indicatedin the SSC field.